The Hamming weight of a string or word is the number of symbols in the string or word that differ from the zero-symbol of the alphabet that is used to express the string or word, and particularly, the Hamming weight of a binary word is the number of ones in the binary word. Constant Hamming weight coding is a type of encoding that encodes input data into codewords that all have the same Hamming weight. Constant Hamming weight coding has many uses particularly in error detection and correction strategies, where an error in a constant Hamming weight binary codeword can be easily detected if the codeword does not contain the correct number of ones. Hamming weight coding has also been used in data storage such as in memory systems including cross-point arrays of memristor memory elements, where encoding of raw binary data produces codewords that when stored in the cross-point memory array may limit the numbers of low resistance states in rows or columns of the array. Encoded storage using constant Hamming weight codes may thus avoid data-dependent memory performance issues that may arise if rows or columns of a memory array are allowed to contain a large number of memory elements in a low resistance state.
Use of the same reference symbols in different figures indicates similar or identical items.